package com.situ.car.service.Impl;

import com.situ.car.dao.IAdminDao;
import com.situ.car.dao.Impl.AdminDaoImpl;
import com.situ.car.pojo.entity.Admin;
import com.situ.car.pojo.query.AdminQuery;
import com.situ.car.pojo.vo.AdminVo;
import com.situ.car.service.IAdminService;
import com.situ.car.util.PageInfo;

import java.util.List;

public class AdminServiceImpl implements IAdminService {
    private IAdminDao adminDao = new AdminDaoImpl();
    @Override
    public Admin login(String account, String password) {
        return adminDao.login(account,password);
    }

    @Override
    public PageInfo selectByPage(AdminQuery adminQuery) {
        List<AdminVo> list = adminDao.selectByPage(adminQuery);
        System.out.println(list);
        int totalCount = adminDao.selectTotalCount(adminQuery);
        return PageInfo.ok(totalCount, list);

    }

//    @Override
//    public void add(AdminVo adminVo) {
//        adminDao.add(adminVo);
//        adminDao.addRole(adminVo);
//    }

    @Override
    public AdminVo selectById(Integer id) {
        return adminDao.selectById(id);
    }

    @Override
    public int update(AdminVo adminVo) {
        return adminDao.update(adminVo);
    }

    @Override
    public void updateAR(AdminVo adminVo) {
        adminDao.updateAR(adminVo);
    }

    @Override
    public Integer selectByAccount(AdminVo adminVo) {
        return adminDao.selectByAccount(adminVo);
    }

    @Override
    public Admin selectByInfoId(Integer id) {
        return adminDao.selectByInfoId(id);
    }

    @Override
    public int updateInfo(Admin admin) {
        return adminDao.updateInfo(admin);
    }

    @Override
    public Admin selectAccount(Integer id) {
        return adminDao.selectAccount(id);
    }

    @Override
    public Admin selectPassword(Integer id) {
        return adminDao.selectPassword(id);
    }

    @Override
    public void updatePassword(Integer id, String newPassword) {
        adminDao.updatePassword(id, newPassword);
    }

    @Override
    public void deleteById(Integer id) {
        adminDao.deleteByIdAR(id);
        adminDao.deleteById(id);
    }

    @Override
    public void deleteAll(String[] ids) {
        for (String id : ids) {
            adminDao.deleteByIdAR(Integer.parseInt(id));
            adminDao.deleteById(Integer.parseInt(id));
        }
    }

    @Override
    public void updateStatus(Integer id, Integer status) {
        adminDao.updateStatus(id, status);
    }

    @Override
    public void add(AdminVo adminVo) {
        adminDao.add(adminVo);
    }

    @Override
    public void addRole(AdminVo adminVo) {
        adminDao.addRole(adminVo);
    }

    @Override
    public AdminVo selectRole(String account) {
        return adminDao.selectRole(account);
    }




}
